$(function () {
    //全选模块
    //就是把全选按钮（checkall)的状态赋值给 三个小的按钮(j-checkbox)就可以了
    $(".checkall").change(function () {
        $(".j-checkbox, .checkall").prop("checked", $(this).prop("checked"));
        if ($(this).prop("checked")) {
            $(".cart-item").addClass("check-cart-item");
        } else {
            $(".cart-item").removeClass("check-cart-item");
        }
        getSum();
    });
    $(".j-checkbox").change(function () {
        getSum();
    })
    // 如果小复选框被选中的个数等于3就应该把全选按钮选上，否则全选按钮不选。
    $(".j-checkbox").change(function () {
        // console.log($(".j-checkbox:checked").length);
        //$(".j-checkbox").length 是所有小复选框的个数
        if ($(".j-checkbox:checked").length === $(".j-checkbox").length) {
            $(".checkall").prop("checked", true);
        } else {
            $(".checkall").prop("checked", false);
        }
        if ($(this).prop("checked")) {
            $(this).parents(".cart-item").addClass("check-cart-item");
        } else {
            $(this).parents(".cart-item").removeClass("check-cart-item");
        }
    });

    //增减商品数量模块 首先声明一个变量，当点击+号（increment)，就让这个值++，然后赋值给文本框。
    $(".increment").click(function () {
        //得到当前兄弟文本框的值
        var n = $(this).siblings(".itxt").val();
        // console.log(n);
        n++;
        $(this).siblings(".itxt").val(n);
        // 计算小计模块 根据文本框的值 乘以 当前商品的价格 就是 商品的小计
        var p = $(this).parents(".p-num").siblings(".p-price").html();
        // console.log(p);
        p = p.substr(1);
        // console.log(p);
        var price = (p * n).toFixed(2);
        //小计模块
        $(this).parents(".p-num").siblings(".p-sum").html("¥" + price);
        getSum();
    })
    $(".decrement").click(function () {
        //得到当前兄弟文本框的值
        var n = $(this).siblings(".itxt").val();
        // console.log(n);
        if (n == 1) {
            return false;
        }
        n--;
        $(this).siblings(".itxt").val(n);
        // 计算小计模块 根据文本框的值 乘以 当前商品的价格 就是 商品的小计
        // var p = $(this).parent().parent().siblings(".p-price").html();
        //parents(".p-num") 返回指定祖先元素
        var p = $(this).parents(".p-num").siblings(".p-price").html();
        // console.log(p);
        p = p.substr(1);
        // console.log(p);
        var price = (p * n).toFixed(2);
        //toFixed(2)保留两位小数
        //小计模块
        $(this).parents(".p-num").siblings(".p-sum").html("¥" + price);
        getSum();
    })
    //4.用户修改文本框的值 计算 小计模块
    $(".itxt").change(function () {
        //先得到文本框的里面的值 乘以 当前商品的单价
        var n = $(this).val();
        //当前商品单价
        var p = $(this).parents(".p-num").siblings(".p-price").html();
        // console.log(p);
        p = p.substr(1);
        var price = (p * n).toFixed(2);
        $(this).parents(".p-num").siblings(".p-sum").html("¥" + price);
        getSum();
    })
    //5.计算总计和总额模块
    function getSum() {
        var count = 0;//计算总件数
        var money = 0;//计算总额

        $(".j-checkbox:checked").parents(".p-checkbox").siblings(".p-num").children(".quantity-form").children(".itxt").each(function (i, ele) {
            count += parseInt($(ele).val());
        });

        $(".amount-sum em").text(count);
        $(".j-checkbox:checked").parents(".p-checkbox").siblings(".p-sum").each(function (i, ele) {
            money += parseFloat($(ele).text().substr(1));
        });
        $(".price-sum em").text("¥" + money.toFixed(2));
    }

    //6.删除商品模块
    //(1).单个商品删除按钮
    $(".p-action a").click(function () {
        $(this).parents(".cart-item").remove();
        getSum();
    })

    //(2).删除选中商品
    $(".remove-batch").click(function () {
        $(".j-checkbox:checked").parents(".cart-item").remove();
        getSum();
    })
    //(3).清空购物车，删除全部商品
    $(".clear-all").click(function () {
        $(".cart-item").remove();
        getSum();
    })


})